package com.aizuda.boot.modules.business.approval.entity.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.time.LocalDateTime;

/**
 * 任务中心待审批任务VO
 */
@Data
@Schema(description = "任务中心待审批任务")
public class PendingApprovalTaskVO {

    @Schema(description = "合同ID")
    private Integer contractId;

    @Schema(description = "合同名称")
    private String contractName;

    @Schema(description = "合同编号")
    private String contractCode;

    @Schema(description = "当前节点名称")
    private String nodeName;

    @Schema(description = "流程类型")
    private String flowType;

    @Schema(description = "审批类型")
    private String approvalType;

    @Schema(description = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @Schema(description = "系统租户键")
    private String sysTenantKey;

    @Schema(description = "系统租户名称")
    private String sysTenantName;

    @Schema(description = "申请人ID")
    private Long applicantId;

    @Schema(description = "申请人头像")
    private String applicantAvatar;

    @Schema(description = "申请人姓名")
    private String applicantName;

    @Schema(description = "申请人部门")
    private String applicantDepartment;

    @Schema(description = "流程实例ID")
    private Long instanceId;

    @Schema(description = "任务ID")
    private Long taskId;

    @Schema(description = "任务类型")
    private Integer taskType;

    @Schema(description = "流程实例状态：-3作废，-2暂停，-1暂存待审，0审批中，1审批通过，2审批拒绝，3撤销审批，4超时结束，5强制终止，6自动通过，7自动拒绝")
    private Integer instanceState;

    @Schema(description = "流程类型：business-业务流程审批，business_audit-业务流程审核，child-子流程，main-主流程")
    private String processtype;
}